Mind and Hand Help

线性代数

矩阵基础

定义

从空间向量 的理解过渡转变到数值

个实数的元组,则

矩阵的定义

定义对于 实值矩阵(Matrix) 是由元素 组成的 元组

其中

按惯例

  • 称为行 row

  • 成为列 column

这两个特殊的矩阵也成为行向量(row vectors) 或 列向量 (column vectors)

等价: 可以等价表示为

通过堆叠,矩阵 可以表示为 长向量

加法和乘法

加法:矩阵

乘法:矩阵

为了计算元素,我们将的第行的元素与的第列元素对应相乘,然后求和

  • 解析几何中:称之为 行和列的 点积(dot product)

用符号 表示矩阵乘法 即

备注 :矩阵只有在“相邻”维度匹配时才能相乘。例如, 矩阵A 可以与矩阵B相乘,且只能从左侧相乘

的列数要等于 的行数,产生的新矩阵是基于的行数和的列数

所以 不成立

备注 :矩阵的乘法不是逐元计算,即

这种逐元素的乘法通常出现在编程语言中,称之为 Hadamard 积 (Hadamard Product)

例:

矩阵乘法是左乘, ,维度问题

单位矩阵定义

中,单位矩阵(Identity Matrix)

对角线为 1, 其他为0

已经定义了矩阵乘法、矩阵加法和单位矩阵,让我们看看矩阵的一些性质

  • 结合律 (Associativity

  • 分配律 (Distributivity

  • 与单位矩阵乘法 :对于

矩阵的逆和转置

**定义 2.3 逆 **

考虑一个方阵 ,使得矩阵 满足

称为的逆(Inverse) ,表示为:

不过,不是所有矩阵都有逆 。如果矩阵的逆存在,则称它为正则/可逆/非奇异(regular/invertible/nonsingular ),否则称为奇异/不可逆(singular/noninvertible) 。当矩阵逆存在时,这个逆是唯一的。在第2.3节中,我们将讨论通过求解线性方程组来计算矩阵逆的一般方法。

定义 2.4 转置

对于矩阵 ,若矩阵 满足 ,则称为的转置*(Transpose*),记作

通常, 可以通过将的列写为的行来获得。以下是逆和转置的一些重要性质:

类似于

定义 2.5 对称矩阵

若对于矩阵 ,则称它是对称的(symmetric)。

只有 的矩阵是对称的,对于 的矩阵称之为方阵

如果矩阵 可逆,则 可逆

与标量向乘

对于标量 与矩阵 相乘,则

结合律

分配律

线性方程组的紧凑表示

线性方程组可以用矩阵形式表示为 ,且乘积 每一列的(线性)组合

线性方程组求解

特解和通解

考虑方程组

这个方程组有两个方程和四个未知数。因此,一般来说,我们可以得到无穷多个解。这个方程组的形式为极简形式,前两列都由一个0和一个1组成.

目标是找到标量 ,使得

  • 其中 为矩阵的第

  • 为方程组的右侧

对于该方程组,可通过取 第一列的42倍 和第二列的8倍得到解

  • 关键在于 ,对于

因此,方程组的一个解为 ,这个解称为特解 (particular solution or special solution)

然而,这并不是这个线性方程组的唯一解。要得到其他解,我们需要创造性地使用矩阵的列以非平凡( non-trivial) 的方式生成向量 特解与方程组的矩阵相乘,然后等式两边同时加上不会影响该等式

我们使用前两列(它们的形式非常简单)表示第三列

则有 ,得到解 ,这个解按任意 的缩放都会产生 向量,即:

同样地,我们使用前两列表示方程组中矩阵的第四列,对于任意生成另一组的非平凡版本

把所有的解放在一起,得到方程组的所有解,称为通解(general solution) ,以集合形式表示为

备注

线性方程组的一般求解包括以下三个步骤

  • (1) 找到 的特解

  • (2) 找到 的所有解

  • (3) 结合步骤 (1)(2)中的解,得到通解

  • 注意:特解和通解都不是唯一的

上例中的线性方程组很容易求解,因为方程组中的矩阵有特别简便的形式,这使我们能够通过代值检验得到特解和通解。然而,一般方程组不会是这种简单的形式。

幸运的是,有一种构造性的算法可以将任何线性方程组转换成这种特别简单的形式:高斯消元法( Gaussian elimination)。 高斯消元法的关键是对线性方程组进行初等变换 ,将方程组转换成简单形式。然后,我们可以用以上三个步骤求解线性方程组

初等变换

求解线性方程组的关键是初等变换(elementary transformations) ,它能在解集保持不变的前提下,将方程组变换为更简单的形式

  • (1) 两个方程(表示方程组的矩阵的行)的交换

  • (2) 方程(行)乘一个常数

  • (3) 两个等式相加

备注 :步骤(1) (2)(3)可以组合

例子

对于 ,求下列方程组的所有解

我们首先把这个方程组转换成紧致的矩阵表示 ,不再显式地提及变量

而是建立**增广矩阵(augumented matrix)**形式为

我们用垂直线把方程组的左手边和右手边分开。

交换第一行 和第三行 得到:

我们使用上式中指定的变换后,得到

我们用 来表示增广矩阵的初等变换 $$ \left[ \begin{rrrrr|r} 0 & 0 & -1 & -2 & 3 & a \end1 & -2 & 1 & -1 & 1 & 0 \0 & 0 & -1 & 1 & -3 & 2 \0 & 0 & 0 & -3 & 6 & -3\ \right] \quad \begin -R_2 - R_3 \end\\\

\ \rightsquigarrow \left[ \begin{rrrrr|r} 0 & 0 & 0 & 0 & 0 & a+1 \end1 & -2 & 1 & -1 & 1 & 0 \0 & 0 & -1 & 1 & -3 & 2 \0 & 0 & 0 & -3 & 6 & -3\ \right] \quad \begin \end\\cdot (-1) \\cdot (-\frac{1}{3})\\

\ \rightsquigarrow \left[ \begin{rrrrr|r} 0 & 0 & 0 & 0 & 0 & a+1 \end1 & -2 & 1 & -1 & 1 & 0 \0 & 0 & 1 & -1 & 3 & -2 \0 & 0 & 0 & 1 & -2 & 1\ \right] $$

这个(增广)矩阵现在变成一种简便的形式——行阶梯形式(row-echelon form,REF) 。将这个紧凑的表示法还原为显式表示法,我们得到

仅当 时方程组才有解。一个特解为

通解

下面,我们将详细介绍一种获得线性方程组特解和通解的构造性方法

备注 :主元和阶梯结构

行的前导系数 (leading coefficient,从左开始的第一个非零数)称为主元(Pivots ) ,并且始终严格地位于上方行的主元的右侧。因此, 任何行阶梯型(row-echelon form)的方程组都具有“阶梯(staircase)”结构

定义 行阶梯型

一个矩阵为**行阶梯型(row-echelon form)**矩阵需满足:

  • 所有只包含零的行都位于矩阵的底部;相应地,所有至少包含一个非零元素的行都位于只包含零的行的顶部。

  • 只看非零行,从左边开始的第一个非零数字(也称为主元或前导系数)总是严格地位于它上面的行主元的右边。

备注 :基本变量和自由变量

行阶梯型的主元对应的变量称为基本变量(basic variables) ,其他变量称为自由变量(free variables)

例如,对于

其中

  • 为基本变量

  • 为自由变量

备注: (求特解)

当我们需要确定一个特解时,行阶梯型方便了我们求解。为了做到这一点,我们用主元列来表示方程组的右侧

,其中, 为主元所在列,即主元列

很容易确定,我们可以从最右边的主元列开始,向左一 一确定

在上一个例子中,试图找到 ,使得

从这里,我们相对直观地发现 。而对于非主元列,我们隐式地将其系数设置为 0 。因此得到的特解为

备注 :行最简阶梯型

一个方程组为行最简阶梯型 (Reduced Row Echelon Form ,也称为 row-reduced echelon formrow canonical form )需要满足

  • 它是行阶梯型

  • 每个主元都为1

  • 主元所在列是唯一的非0项

备注 :高斯消元法

高斯消元法(Gaussian elimination )是一种通过初等变换将线性方程组转化为行最简阶梯型的算法。

例 2.7行最简阶梯型

有以下行最简阶梯型矩阵(粗体1为主元):

的解的关键是非主元列 ,我们需要将其表示为主元列的(线性)组合 ;而行最简阶梯型使这一点相对简单。我们用左边的主元列的倍数和来表示非主元列

第二列是第一列的3倍(我们可以忽略第二列右边的主元列)。因此,为了得到 ,我们需要将第一列的三倍减去第二列。

现在,我们来看看第二个非主元列——第五列

第五列可以由第一个主元列的3倍、第二个主元列的9倍和第三个主元列的−4倍表示。我们需要根据主元列的索引,并将第五列转换为第一列的 3倍、第二列(非主元列)的0倍、第三列(第二个非主元列)的9倍和第四列的** **倍(即第三主元列)之和,然后减去 第五列得到 。最后,可以求解这个齐次方程组。

总之: 的所有解都由下式给出

Minus-1技巧

下面,我们将介绍一个实用的技巧来求解齐次线性方程组 的解

其中

首先,我们假设 行最简阶梯型 ,且没有只包含零的行,即:

其中为随机的实数, 每行的第一个非0项目必须为1,相应列中的其他项都为0

含主元的列 (用粗体标记)是标准单位向量

通过添加 行将矩阵扩展成 -矩阵

扩展所添加行的形式为

所以增广矩阵 的对角线包含 。然后,包含 作为主元的列是齐次方程 的解。

更准确的说,这些列构成 的解空间的基,我们也将其称之为 核 或 零空间

例子

对于之前的矩阵

现在我们通过在对角线上的主元缺失的地方添加 的矩阵

我们可以通过取 对角线上包含 的列,立即得到 的解

  • 与之前例子的结果相同

求逆

为了计算 的逆 ,我们需要找到满足 的矩阵

我们可以把它写成一组线性方程组 并求解 。我们使用增广矩阵表示法来表示这组线性方程组,并对其做以下变换:

这意味着,如果我们把增广方程组简化成行最简阶梯型,我们就可以在方程组的右手边读出改矩阵的逆。因此确定矩阵的逆,相当于求解线性方程组。

例2.9 利用高斯消元法求矩阵的逆

的逆

解:

写出增广矩阵

并利用高斯消元法将其化为行最简阶梯型

这样,所需的逆矩阵就在其右侧给出了

可以通过 来验证是否正确

求解线性方程组的算法

在下文中,我们将简要讨论 形式的线性方程组的求解方法。

  • 这里我们假设存在解

  • 如果没有解,需要求助于近似的解的办法,后面的线性回归,这里不作介绍

如果我们可以确定 ,那么 的解就可以表示为 。然而,只有当A是一个方阵并且可逆时,这种方法才可行,但通常情况并非如此。不过,在适当的假设下 (即需要有线性独立的列 ),我们可以使用以下变换

即使用Moore-Penrose伪逆 (Moore-Penrose pseudo-inverse) 来确定 的Moore-Penrose伪逆解

,这也对应最小范数最小二乘法的解

这种方法的缺点是需要对矩阵的积和 的逆进行大量运算。此外,出于数值精度的原因,通常不建议计算逆或伪逆。因此在下文中,我们将简要讨论求解线性方程组的其他方法。

高斯消元法在计算行列式、检查向量集是否线性独立、计算矩阵的逆、计算矩阵的秩和确定向量空间的基时起着重要的作用。高斯消元法是一种直观而有建设性的方法来解决一个含成千上万变量的线性方程组。然而,对于具有百万变量的方程组,这是不切实际的,因为所需的运算量是按联立方程的数量的立方增长的。

在实践中,许多线性方程组都是通过定常迭代法(stationary iterative methods) 间接求解的,如Richardson方法、Jacobi方法、Gauß-Seidel方法和逐次超松弛方法,或Krylov子空间方法,如共轭梯度、广义最小残差或双共轭梯度。

的解。这些迭代方法的关键思想是建立一下形式的迭代

通过寻找适当的 ,在每次迭代中减小残差 直至收敛到

引入范数 ,它允许我们计算向量之间的相似性

向量空间

线性方程组可以用矩阵-向量表示法来表示

更深入地了解向量空间,即向量所在的结构化空间

本章的开头,我们非正式地将向量描述为相加并乘以标量后,仍然是相同类型的对象。现在,我们准备将其形式化,我们将首先介绍群的概念,它包含一组元素和一个定义在这些元素上的操作,该操作可以保持集合的某些结构完整

群在计算机科学中扮演着重要的角色。除了为集合上的运算提供一个基本框架外,它们还被大量应用于密码学、编码理论和图形学

定义 2.7

考虑一个集合 和一个定义在 上的运算 ,则 称之为群( group):

  • 1 运算下的封闭性(Closure):

  • 2 结合律(Associativity)

  • 3 单位元(Neutral element) and

  • 4 逆元(Inverse element): and ,其中 e是单位元。我们经常写 来表示 的逆元

备注

逆元是针对运算 定义的,并不一定意味着逆元一定是

阿贝尔群: ,那么 是阿贝尔群

例如

: 整数, :自然数, :实数, :复数

  • 是一个阿贝尔群

  • 不是一个群:虽然有一个单位元,但是缺少逆元

  • 不是一个群:虽然 包含一个单位元 ,但是任何 的逆元都不是整数

  • 不是群:因为不具有逆元

  • 是阿贝尔群

  • 是阿贝尔群,前提是 是按分量定义的,即

    为逆元; 为单位元

  • -矩阵集是阿贝尔集,前提是具有上面例子一样的分量加法

  • 仔细看 ,即之前定义的具有矩阵乘法的 -矩阵集

    • 封闭性和结合性来自于矩阵乘法的定义

    • 单位元:单位矩阵

    • 逆元:如果矩阵 的逆存在( 是正则的),那么 的逆元,在这种情况下, 就是一群,称为 一般线性群(general liner group)

定义一般线性群

正则(可逆)矩阵集 关于矩阵乘法的群,称为一般线性群 。然而,由于矩阵的乘法是不可逆的,所以改群不是阿贝尔群

向量空间

当我们讨论群时,我们研究集合的内部运算,即 内部元素的运算的映射 。在下面,除了考虑 内部运算(inner operation) " "外的 外部运算(outer operation) " ",:向量 乘以一个标量 。我们可以把内部运算看作是加法的形式,外部运算看作是缩放的形式。请注意,内部/外部操作 与 内积/外积 无关。

定义向量空间

实值向量空间(Vector Space) 是一个具有两类运算的集合

其中

1 是阿贝尔群

2 分配律

:

3 结合律(外部操作) :

4 关于外部操作的单位元:

元素 称为向量。 的单位元向量是 ,内部运算 称为 向量加法(vector addition)。 元素 称为 标量(scalars) ,外部运算 被标量乘(multiplication by scalars) 。注意 * 标量积(scalar product)* 与这个是不同的。

备注

向量乘法(vector multiplication) 是没有定义的。理论上,我们可以定义按元素的乘法 ,其中 。这种数组乘法(array multiplication)在许多编程语言中都很常见,但这使得使用矩阵乘法的标准规则在数学意义上有限:通过将向量视为 的矩阵,可以使用之前定义的矩阵乘法进行运算。可这样的话,向量与向量直接相乘的维度却不匹配。仅以下向量乘法有定义

  • (外积 outer product)

  • (内积/标量积/点积 inner/scalar/dot product)

向量空间重要例子

  • 是一个向量空间,其运算定义如下

    • 相加:对于

    与标量相乘:对于

  • 是一个向量空间

    • 相加:对于 逐元素相加

    • 与标量相乘,记住相当于

    • 也是向量空间

备注

在下面,当 是标准向量加法和标量乘法时,我们将用 表示向量空间 。此外,我们将使用符号 表示 中的向量,以简化符号

备注

向量空间 只是我们写向量的方式不同。在下文中,我们将不区分 ,这允许我们用 元组用列向量(column vectors)表示

这样简化了向量运算的表示法。但是我们要区分 (行向量row vectors) ,以避免在矩阵乘法时混淆。默认情况下

  • 来表示列向量

  • 来表示行向量,即列向量的转置

向量子空间

向量子空间是原始向量空间中的集合,且具有这样的性质

  • 对子空间的元素进行向量空间运算,结果不会超出子空间。从这个意义上说,它是封闭的

向量子空间是机器学习的一个重要概念,利用向量子空间进行降维

定义向量子空间

为向量空间,且 ,如果 是一个向量空间,且它的向量空间运算 限制为 ,那么 称为 向量子空间(vector subspace 或 liner subspace) 。用 表示 的子空间

如果 是向量空间,那么自然地直接从 继承了许多性质,因为这些性质适用于所有的 ,特别是所有 。这包括阿贝尔群的性质,分配律、结合律和基元。

为了确定 是否是 的子空间,还需要确定

1 ,特别地,单位元

2 的封闭性:

关于外部操作:

  • 关于内部操作:

向量子空间

对于每个向量空间 ,其 **平凡子空间(trivial subspaces)**是 本身和

具有个未知量 的齐次线性方程组 的解集是 的一个子空间

非齐次线性方程组 的解不是 的子空间

任意子空间的交集是它们本身的子空间

备注

对于 ,每个子空间 是齐次方程组 的解空间

线性独立

考虑一个问题,可以用向量(向量空间的元素)做什么。从向量空间的定义中,可以得到,将向量相加,然后用标量相乘,封闭性能保证在同一个向量空间中得到另外一个向量。有没有可能找到一组向量,允许我们可以用这些向量相加并缩放后得到向量空间中的其他所有向量?实际上,这组向量是一组 基(basis) ,我们将在后面讨论它。在此之前,我们需要介绍一下线性组合和线性独立

定义2.11线性组合

考虑向量空间 和有限个向量 ,每一个以下形式的向量

称为向量 线性组合(liner combination) ,其中

向量总可以写成 个向量的线性组合,因为 总是成立的。

关注一组向量的非平凡线性组合来表示 ,即向量的参数不都为0的情况下的组合

定义2.22线性相关与线性无关(独立)

考虑一个向量空间 ,且有

如果存在一个非平凡线性组合,使得 ,即其中至少有一个 ,则向量 线性相关的(linearly dependent)

如果只有平凡解的存在,即 ,则向量 线性独立的(linearly independent)

线性独立是线性代数中最重要的概念之一 。直观地说,一组线性无关(即线性独立)的向量是由没有冗余的向量组成的,也就是说,如果我们把这些向量中的任何一个去掉,我们就会失去一些东西。在接下来的几节中,我们将进一步形式化这种直觉。

线性相关的向量

一个地理例子可能有助于理解线性独立的概念。如图2.7所示,在 Nairobi (Kenya)的人描述Kigali (Rwanda) 所在地可能会说,“你可以先往西北方向506公里到Kampala (Uganda),然后往西南方向374公里”。这足以说明 Kigali的位置,因为地理坐标系可被视为二维向量空间(忽略海拔和地球曲面)。这个人可能会补充说,“大约在西边751公里处“。尽管最后一句话是对的,但鉴于前面的信息,这句话没有必要说。在此示例中,“506 km西北”矢量(蓝色)和“374 km西南”矢量(紫色)是线性独立的。这意味着西南方向的矢量不能用西北方向的矢量来描述,反之亦然。然而,第三个“751 km west”向量(黑色)是其他两个向量的线性组合,这使得这三个向量线性相关。同样地,给定“西751公里”和“西南374公里”,可以线性组合得到“西北506公里”。

La 2 7

图2.7 二维空间(平面)中线性相关向量的地理示例(基本方向的粗略近似)。

备注 :以下属性可用于确定向量是否线性独立:

  • k个向量要么线性相关,要么线性独立,没有第三种选择

  • 向量 只要有一个向量或者有两个向量相同,则它们是线性相关的

  • 向量 ,是线性相关的,当且仅当(至少)其中一个是其他的线性组合。特别是,如果一个向量是另外一个向量的倍数,即 ,那么集合是线性相关的。

  • 检验向量 是线性无关的有效方法是采用高斯消元法:将所有的向量写为矩阵 的列,并进行高斯消元,知道矩阵为行阶梯型(注意:这里不需要行最简阶梯型)

    • 主元列表示与左侧的向量线性无关(线性独立)的向量。注意构建矩阵时对向量排序

    • 非主元列可以表示为其左侧主元列的线性组合。例如,行阶梯矩阵

      告诉我们第一列和第三列是主元列。第二列是非主元列,它是第一列的三倍。

      当且仅当所有列都是主元列时,所有列向量才是线性独立的 。尽管只有一个非主元列,这些列(以及相应的向量)也是线性相关的

考虑 以及向量

为了检验是否线性相关的,对于 ,采用一般方法求解 $$ \lambda_1 \boldsymbol_1 + \lambda \boldsymbol_2 + \lambda \boldsymbol_3 = \lambda_1\begin1\2\-3\4\end

\lambda_2\begin1\1\0\2\end

\lambda_1\begin-1\-2\1\1\end $ \boldsymbol_i,i=1,2,3$作为矩阵的列,并引用初等变换,直到确定主元列

这里,矩阵的每一列都是主元列。因此,不存在非平凡解。只有 为方程组的解。

因此向量是线性独立的

备注

考虑一个向量空间 与其中 k 个线性独立的向量 种线性组合

定义矩阵 ,改矩阵的线性无关(线性独立) 向量 ,我们可以将上式,写成紧凑形式

我们想检验 是否线性无关(线性独立)。为此,我们遵循 的一般测试方法。可以进一步得到

这意味着 是线性无关的当且仅当 是线性无关的

备注

在向量空间 中,当 个向量的m个线性组合是线性相关的。

考虑一组线性无关向量

向量 是否线性无关呢?看以下列向量

是否线性无关(线性独立)。

线性方程组对应的矩阵为

对应的最简阶梯型矩阵为:

可以看到相应的线性方程组是有非平凡解的,最后一列不是主元列, ,因此, 是线性相关的, 可以表示为的组合

基和秩

在向量空间 中,我们特别关注的是向量集合 ,这些集合具有这样的性质:任何向量 都可以通过 中向量的线性组合得到。这些向量是特殊的向量,下面我们将对他们进行描述。

生成集和基

定义 生成集和生成空间

考虑一个向量空间 和一个向量集 ,如果每个向量都可以表示为 的线性组合。

则称 生成集(generating set)

中的向量的所有线性组合的集合称为生成空间(span)

如果 张成向量空间 ,则记

生成集是张成向量空间(或子空间)的向量集,即,向量空间(或子空间)中的每个向量都可以表示为生成集中的向量的线性组合。

下面更具体描述向量(子)空间的最小生成集

定义

考虑向量空间 。如果没有更小的集合

则称 的生成集最小生成集(minimal)

的每一个线性独立的生成集都是最小生成集,都被称为 基(basis)

为向量空间,且 。那么以下的描述是等价的

  • 的基

  • 是最小生成集

  • 中向量的一个最大线性无关(线性独立)集合,也就是说,在这个向量集中添加任何其他向量都会使它线性相关

  • 每个向量 都是 中向量的线性组合,且每个线性组合都是唯一的,即

    其中且:

  • 中,规范/标准基(canonical/standard basis) 为

  • 中有不唯一的基:

  • 集合

    是线性独立的,但不是的生成基(也不是基): 例如,向量不能通过 中的向量线性组合得到。

备注

每个向量空间都有一个基 。前面的例子表面向量空间 可以有许多基,即没有唯一基,然而所有的基都由相同数量的元素,即 基向量(basic vector) 组成

我们只考虑有限向量空间 。在这种情况下, 维数(dimension) 的基向量的个数,我们写成 。如果 的子空间为 ,那么 。直观的说,向量空间的维度可以看作是这个向量空间中独立方向的个数。

备注

向量空间的维度不一定是向量中元素的个数。例如向量空间 是一维的,尽管基向量有两个元素。

备注

子空间 的基可以通过执行以下步骤确定

  • 1 把生成向量写成 矩阵 的列

  • 2 确定的行阶梯型

  • 3 与主元对应的生成向量就是

基的确定

向量子空间 由以下向量张成

我们关注 中哪几个是 的基。为此,需要判断是否线性独立。因此我们需要解一个矩阵齐次方程

对应矩阵为:

利用线性方程组的基本变换规则,得到了行阶梯型矩阵:

由于主元列对应的那组向量是线性独立的,因此我们从行阶梯型可以看出 是线性独立的(因为线性方程组 只能用 ) 来解。因此 的基

矩阵 的线性独立列的个数等于线性独立行的个数,这个数称为 的秩,用 表示

备注

矩阵的秩有一些重要的性质

  • ,即列秩等于行秩序

  • 的列张成一个子空间 。在后面内容中我们将这个子空间称为像或值域。通过对应用高斯消元法来确认主元列,可以找到 的基

  • 的行张成一个子空间 。通过对 应用高斯消元法确认主元列,可以找到 的基。

  • 对于任意方阵 是正则的(可逆) 当且仅当

  • 对于任意 ,线性方程组 有解当且仅当 ,其中 表示增广矩阵

  • 对于任意 的解的子空间维数为 。后面我们会称这个子空间为核或零空间

  • 如果矩阵 的秩等于相同维数矩阵的最大可能秩,则它拥有满秩(full rank) 。也就是说满秩矩阵的秩是行数或列数中的较小者,即 。如果矩阵不满足满秩要求,则称它 不满秩(rank deficient)

  • 有两个线性独立的行/列,所有

  • 使用高斯消元法来确定秩:

    有两个线性独立的列,所以

线性映射

研究向量空间上结构不变的映射,这允许我们定义坐标的概念。之前我们说过向量相加并乘以标量得到的对象仍然是一个向量。这里我们希望在应用映射时保留此特性:

考虑两个实数向量空间, 。对于 ,映射 保持向量空间结构不变需满足:

可以用定义来概括

定义 线性映射

对于向量空间 ,如果

则称 线性映射(Linear Mapping) ,或 向量空间同态(vector space homomorphism)线性变换(linear transformation)

这使得我们可以把线性映射用矩阵表示。之前的内容:将向量集合用矩阵的列表示。在处理矩阵的时候,我们必须判断矩阵所表示的内容:是线性映射还是向量集合。后面会看到关于更多的线性映射的内容,介绍一些特殊映射

定义 单射,满射,双射

考虑一个映射 ,其中 是任意集合。那么 可以是

  • **单射的(Injective) **:

  • 满射的(Surjective):

  • 双射的(Bijective): 既是单射的,也是满射的

如果 是满射的,那么 中的每个元素都可以通过 “到达”。单射意味着映射结果相同的元素为同一元素。双射既是单射的也是满射的,所以一个双射映射 可以“撤销”(双射映射意味着两个空间的个体是一一对应的,所以可以撤销;而非双射这种多对一的情况,“撤销”后的对象是不唯一,不确定是哪一个,所以无法撤销。)即存在一个映射 ,使得 。映射 被称为 的逆,通常用 表示。

在这些定义下,介绍一些向量空间之间线性映射的特殊情况

  • 同态(Homomorphism) 线性

  • 同构(Isomorphism) 双射

  • 自同态(Endomorphism) 线性

  • 自同构(Automorphism) 双射

  • 定义 中的恒等映射或单位自同构(identity mapping or identity automorphism)

同态

是同态映射。

这也证明了为什么复数可以在 中表示为元组:有一个双射线性映射,它将 中的元组的元素加法转换为具有相应加法的复数集。注意,这里我们只展示了线性,而没有双射。

定理2.17

有限维向量空间 同构当且仅当

定理2.17指出在两个相同维度的向量空间之前存在一个线性的双射映射。直觉上,意味着相同维度的向量空间是相同的,它们可以相互转化而不产生任何误差。

定理2.17也给出了之前将 -矩阵 张成的向量空间)和 ( 的向量张成的向量空间)视为相同的理由:因为它们的维数都是 ,所以存在一个线性双射映射,将它们互相转换。(注意:向量空间的维数,由向量张成的向量空间的维数,以及由矩阵张成的向量空间的维数的区别)

备注

考虑向量空间

  • 对于线性映射 ,那么 也是线性映射。

  • 如果 同构,那么 也是同构的。

  • 如果 都是线性的(同态的),那么 也是线性的(同态的)。

线性映射的矩阵表示

任何 维向量空间同构于 (定理2.17)。我们考虑 维向量的空间 的一个基 。在下文中,基向量的顺序很重要。我们对集进行排序,得到

并称这个 元组为 有序基(ordered basis)

备注 :基需要是有序的,所谓的“第一个坐标,第二个坐标,等”才是有意义的

备注 :目前为止定义的符号有点多,在这里总结以下

  • 为有序基

  • 为(无序的)基

  • 是列为 的矩阵

定义 坐标

考虑一个向量空间 以及 的一个有序基 。对于任意的 ,有唯一一个关于 的线性组合

称为: 关于 坐标(Coordinates)

相对于有序基 坐标向量/ 坐标表示(coordinate vector/ coordinate representation)

一个基有效定义了一个坐标系。我们熟悉的笛卡尔坐标系,它由标准基向量 构成。在这个坐标系中,向量 都可以表示为 的线性组合。然而, 的任何基都定义了一个有效的坐标系,同一个向量 基中可能会与 不同的坐标表示。

La 2 8

在图2.8中, 相对于标准基 的坐标为 。然而,关于基 ,相同的向量被表示为 ,即 。在下文中了解如果获得这种表示。

几何向量 相对于 的标准基 的坐标为 。可以将其表示为 。但是不一定选择标准基来表示这个向量。可以选择 为基向量,这样可以得到 相对它们的坐标:

La 2 9

图中 的不同坐标表示取决于不同的基

备注

对于一个 维向量空间 的一个有序基 ,映射 是线性的( 维度相同,所以进一步是同构的),其中 是关于 的标准基。

现在我们准备在 矩阵 和 有限维向量空间 之间的 线性映射 建立一个显示联系

定义2.19 变换矩阵

考虑向量空间 以及相应的有序基 。再考虑线性映射

表示 经过变换后相对 的唯一坐标表示。然后我们得到

我们称 矩阵 (关于 的有序基 和 的有序基)的* 变换矩阵(transformation matrix)*

相对于 的有序基 的坐标是 矩阵 的第 列。

考虑(有限维) 向量空间及其对应的有序基 和变换矩阵

如果 相对于的坐标向量。 相对于 的坐标向量,则

这意味着可以使用变换矩阵将相对于 的有序基的坐标映射到相对于中有序基的坐标。

变换矩阵

考虑 同态映射 以及 的有序基 的有序基 并由:

可得关于 满足 的变换矩阵

其中相对于 的坐标向量

向量的线性变换

La 2 10

图2.10 向量线性变化的三个例子

  • (a) 初始数据

  • (b) 旋转45°

  • (c) 水平坐标拉伸

  • (d) 反射、旋转和拉升的组合

考虑 中的一组向量的三个线性变换及其变换矩阵

图2.10给出了一组向量线性变换的三个例子。图(a) 显示了 中的400个向量,每个向量对应 -坐标 的一个点。向量排列成正方形。

当我们矩阵使用 对这些向量进行线性变换时,我们得到了(b)中被旋转的正方形。

如果 表示的线性映射,我们得到(c)中的矩形,其中每个 坐标 被拉伸2倍。

(d)显示了对原始图形使用 线性变换后的图形, 是反射、旋转和拉伸的组合。

基变换

接下来,我们观察下当改变 的基时,线性映射 是怎样变化的。

考虑 的两个 有序基(ordered basis)

的两个 有序基(ordered basis)

是关于 基 的映射 的变换矩阵。

是关于 基 的映射 的另一个变换矩阵。

下面我们研究需要研究 是什么关系,

即:如果我们选择从基到基 进行基变换,我们是否可以或如何 将 变换成

备注

向量的坐标表示,取决于基(basis)的选择。在图2.9中我们经过恒等映射 得到向量不同的坐标表示。这意味着,在不改变向量的情况下,将它相对于 的坐标映射到相对于的坐标上。通过改变基,从而改变向量的表示,这允许通过一个简单的变换矩阵直接计算实现。

基变换的必要性

考虑一个关于标准基的变换矩阵

如果我们定义一个新基:

可以得到一个关于的对角变换矩阵

它比更容易处理。

在下面,我们将研究将一个基的坐标向量转换成另一个基的坐标向量的映射。我们首先陈述主要结论,然后给出解释。

定理2.20 基变换

对于线性映射 的有序基

的有序基

以及 是关于 的映射的变换矩阵。 是关于相应的变换矩阵,它由以下公式给出:

其中, 的变换矩阵,它将相对于 的坐标映射到 。而 的变换矩阵,它将相对于的坐标映射到

证明

的新基 的向量写成的基向量的线性组合:

同理,把 的新基 的向量写成的基向量的线性组合:

我们定义

  • 为将相对于 的坐标 映射到变换矩阵

  • 是将相对于 的坐标 映射到变换矩阵

特别地, 的 第 列是 相对于的坐标,而的 第 是相对于 的坐标表示。注意 都是正则的(可逆的)

我们将从两个角度来看

第一,通过映射 ,对于 ,我们可以得到

我们首先将新的基向量表示为基向量 的线性组合,然后交换求和顺序。

或者,利用的线性,把表示为 的线性组合,可以得到

比较的两个式子,得出对于所有 ,有:

所以

则:

证毕。

定理2.20高速我们,对于变换为 )和 变换为 )的基变换,线性映射的变换矩阵 与等价矩阵替换关系为:

La 2 11

图2.11 :对于一个同态映射 的有序基 以及 的有序基 (用蓝色标记),我们可以把相对于 的映射 等价地表示为同态映射的组合 ,其中各个符号的下标为该符号对应的基变换对象。相应的变换矩阵用红色表示

图2.11说明了这种关系:考虑一个同态映射 的有序基 以及 的有序基 。映射 的一个实例,它将的基向量映射为的基向量的线性组合。

假设我们已知关于有序基, 的变换矩阵 。当我们在 间执行基变换时,我们可以通过以下步骤得到相应的变换矩阵

首先,我们找到了线性映射 的矩阵表示,它将相对于新基 的坐标映射到相对"旧"基 (在中)的(唯一)坐标上。

然后,我们使用 的变换矩阵 将这些坐标映射到相对于中的基的坐标上。

最后,我们使用线性映射 将相对于 的坐标映射到相对于的坐标上。

因此,我们可以把线性映射 表示为包含"旧"基的线性映射的组合:

具体的说,我们使用 ,即将向量恒等映射到自身所在的向量空间,单相对于不同的基。

定义2.21 等价

如果存在正则矩阵 ,使得 ,则称两矩阵 等价(Equivalence)

定义2.22 相似

如果存在正则矩阵 使得 ,则称两矩阵 相似(Similarity)

备注

相似矩阵总是等价的。然而,等价矩阵不一定相似。

备注

考虑向量空间, , 。从定理2.17后面的备注中,我们已经知道,对于线性映射 ,映射 也是线性的。若这两个映射相应的变换矩阵为 ,则整个变换矩阵是

鉴于此,我们可以从构建线性映射的角度来看待基的变化:

La 2 111
  • 为关于基 的线性映射 的变换矩阵

  • 为关于基 的线性映射 的变换矩阵

  • 是线性映射 (自同构)的变换矩阵,它用表示 。通常, 中的恒等映射。

  • 是线性映射 (自同构)的变换矩阵,它用表示 。通常, 中的恒等映射。

如果我们(非正式地)用基的形式表示变换,那么有:

  • 以及

注意,(2.116)中的执行顺序是从右向左的,因为向量是在右侧相乘,即

基变换

考虑一个线性映射 的变换矩阵为:

变换相应的标准基为:

我们求 关于新基

的变换矩阵 ,首先求出:

式中, 的第 列是 相对于的基向量的坐标表示。对于一般的基 ,我们需要解一个线性方程组来求 ,使得 。类似地, 的第 列是相对于的基向量的坐标表示。

因此,我们可以得到

在第四章中,我们将利用基变换的概念来寻找一个基,使得自同态的变换矩阵有一个特别简单的(对角)形式。

在第十找章降维中,我们将利用基变换研究一个数据压缩问题,即找到一个基并在这个基上投影数据从而压缩数据,同时最小化压缩损失。

像与核

线性映射的像和核是具有某些重要性质的向量子空间。在下面,我们将详细地描述它们。

定义23像与核(Image and Kernal)

对于 ,我们定义 **核/零空间(e kernel / null space)**为:

以及 像/值域(image / range) 为:

原书籍中 可能有误

我们也分别称的定义域(domain) 和陪域(codomain) 或称为上域、到达域

直观的说,核是被映射到单位元上的 一组向量

像是一组向量 中任何向量都能被 映射"到达" 像。如图2.12所示

La 2 12

图2.12 线性映射 的核与像

备注

考虑线性映射 ,其中 为向量空间

  • 总是成立,因此 ,特别地,零空间永远不会是空。

  • 的子空间,而 的子空间

  • 当且仅当 为单射的 (一对一)

备注 :零空间与列空间

考虑 以及线性映射

对于 的列,我们可以得到

即:像是 的列的张成空间,也成为 列空间(column space) 。因此,列空间(像)是 的子空间,其中是矩阵的“高度”。

  • 核/零空间是齐次线性方程组 的通解,即使得 的列的线性组合为 中的元素

  • 核是的子空间,其中是矩阵的“宽度”。

  • 核关注列之间的关系,我们可以使用它来确定是否/如何将列表示为其他列的线性组合

线性映射的像和核

映射:

是线性的。为了确定 ,我们可以取变换矩阵列的生成空间(span),得到

为了计算 的核(零空间),我们需要解 ,也就是说,我们需要解一个齐次方程组。为此,使用高斯消元法将转化为行最简阶梯型:

这个矩阵是行最简阶梯型,我们可以使用之前提到的 Minus-1 技巧来计算核的基本。或者,我们将非主元列 (第3列和第4列)表示为主元列(第1列和第2列)的线性组合。第三列 相当于第二列倍数。因此, 。以同样的方式,我们看到 ,因此 。总的来说,可以得到核(零空间)为

定理2.24 秩-零化度定理

对于向量空间 和线性映射 ,总有

秩-零化度定理(Rank-Nullity Theorem) 也被称为 线性映射的基本理论(fundamental theorem of linear mappings ,下面是通过该定理得到的结论:

  • 如果 ,那么 是非平凡的,即核不仅包含 ,且

  • 如果 相对于有序基的变换矩阵,且 ,则线性方程组 有无穷多个解。

  • 如果 ,则以下三个说法等价

    • 是单射的

    • 是满射的

    • 是双射的

      因为

仿射空间

在下面,我们将研究从原点偏移的空间,即不再是向量子空间的空间。此外,我们将简要讨论这些仿射空间之间类似线性映射的一些性质。

仿射子空间

备注

在机器学习领域的文献中,线性和仿射之前的区别有时是不明确的,因此我们可以将线性空间/映射作为仿射空间/映射的参考。

定义 仿射子空间

使 为向量空间, ,以及子空间 。那么子集

称为 的 **仿射子空间(affine subspace) 或V的线性流型(linear manifold) * 称为方向(direction) 或方向空间(direction space), 被称为 支撑点(support point) ,在第十二章分类中,我们也称这个子空间为一个 * 超平面(hyperplane)

注意,如果 ,那么仿射子空间不包括 。因此,对于 ,仿射子空间不是 的(线性)子空间(向量子空间)

仿射子空间的例子是中的非远点以及不穿过原点的点、线和平面。

备注

考虑向量空间 两个仿射空间 ,当且仅当 时,

仿射子空间通常用参数(parameters)来描述:考虑 的一个 维仿射空间 ,若 的有序基,那么任意 都能被唯一描述为:

其中 ,这种表示称为关于 **方向向量(directional vectors) ** 和参数参数方程(parametric equation)

仿射子空间

  • 一维仿射子空间称为线(line ),可以写成 ,其中的一维子空间。这意味着直线有支撑点和方向向量定义,如图2.13

La 2 13

图2.13 线为仿射子空间。 线上的向量 在支持点位 ,方向为的仿射子空间上。

  • 的二维仿射子空间称为平面(plane) 。平面的参数方程为 ,其中 。这意味这平面由支撑点 和张成方向空间的两个线性独向量定义。

  • 中, 维仿射子空间称为超平面(hyperplanes) ,相应的参数方程为 ,其中是构成维子空间 的基。这意味着超平面由支撑点 个线性无关向量 张称方向空间定义。在中,直线也是一个超平面。在中,平台也是一个超平面。

备注 非齐次线性方程组于仿射子空间

对于 ,线性方程组 的解是 维的空集或的仿射子空间。特别地,如果 ,则线性方程 的解是的超平面。

中,每个 维仿射子空间都是一个非齐次线性方程组 的解,其中 。回想一下前面的内容,对于齐次方程组 ,其解是一个向量子空间。我们也可以把它看作支撑点 的特殊仿射空间。

仿射映射

类似于向量空间之间的线性映射,我们也可以定义两个仿射空间之间的仿射映射。线性映射和仿射映射密切相关。因此,我们从线性映射中已经知道的许多性质( 例如线性映射的合成是一种线性映射)也适用于仿射映射。

定义 仿射映射

对于两个向量空间 ,一个线性映射 ,映射

的一个仿射映射(affine mapping) 。向量 称为平移向量( translation vector)

  • 每个仿射映射 也是线性映射 和平移 中的组合: 。其中映射 是唯一确定的。

  • 仿射映射 的合成也是仿射映射

  • 仿射映射保持几何结构不变。它们还保留了尺寸比例和平行度。

11 September 2025